package com.zac.coroutine.algorithm.leetcode.array

/**
 * author zac
 * date 2024/10/11
 * --简单--
 * 不使用java 或 kotlin 的split方法,将类似"aa&&bb&&cc"的字符串分割成
 * [aa,bb,cc]的数组
 */
class Test2 {


    companion object {

        @JvmStatic
        fun main(args: Array<String>) {
            splitString("aa&&dde&&w&&QQ&&asd&aA&&")
        }

        fun splitString(str: String) {

            var currentStr = ""
            val stringArray = Array(str.length) { "" }
            var i = 0
            while (i < str.length) {
                if (str[i] == '&' && i < str.length - 1 && str[i + 1] == '&') {
                    stringArray[i] = currentStr
                    currentStr = ""
                    i += 2
                } else {
                    currentStr += str[i]
                    i++
                }
            }

            print("[")
            stringArray.forEach {
                if (it.isNotBlank()) {
                    print("$it,")
                }
            }
            print("]")

        }
    }
}